package cn.zyjblogs.server.user.service;

import cn.zyjblogs.server.user.dto.AuthCodeDto;
import cn.zyjblogs.server.user.dto.AuthorizationCodeDto;
import cn.zyjblogs.server.user.dto.OAuth2AccessTokenDto;
import cn.zyjblogs.server.user.vo.OAuth2AccessTokenVo;

/**
 * @author zhuyijun
 */
public interface AuthService {
    /**
     * 刷新token
     *
     * @param oAuth2AccessTokenDto
     * @return
     */
    OAuth2AccessTokenVo refreshToken(OAuth2AccessTokenDto oAuth2AccessTokenDto);

    /**
     * 检测token信息
     *
     * @param oAuth2AccessTokenDto
     * @return
     */
    OAuth2AccessTokenVo checkToken(OAuth2AccessTokenDto oAuth2AccessTokenDto);

    /**
     * 获取授权码
     *
     * @param authorizationCodeDto
     */
    String getAuthorizationCode(AuthorizationCodeDto authorizationCodeDto);

    /**
     * @param authCodeDto
     * @return
     * @author zhuyijun
     * @date 2022/10/15
     */
    OAuth2AccessTokenVo getTokenByAuthorizationCode(AuthCodeDto authCodeDto);


}
